package com.ys.homework;

/**
 * The type Point.
 *
 * @author CodeYang
 * @Description 坐标类
 * @Date 2020 /12/12 17:54
 */
public class Point {
    double x;
    double y;

    public Point() {
    }

    public Point(double x, double y) {
        this.x = x;
        this.y = y;
    }



    /**
     * 方案三
     * 形参point代表了一个坐标点，在方法体中this代表了另外一个坐标点。
     *
     * @param point
     * @return
     */
    double getDistance(Point point) {
        return Math.sqrt(Math.pow(point.x - this.x, 2) + Math.pow(point.y - this.y, 2));
    }

    /**
     * 方案一:
     * 计算两个坐标之间的距离
     * a= 根号 b*b + c*c
     * 绝对值计算;
     *
     * @param x1
     * @param y1
     * @param x2
     * @param y2
     * @return
     */
    double getDistance(double x1, double y1, double x2, double y2) {
//        double a = x2 - x1;
//        double y = y2 - y1;
//        return Math.sqrt(Math.pow(a, 2) + Math.pow(y, 2));
        return Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2));
    }


    /**
     * 方案二:
     * 计算距离:
     * a*a = b*b + c*c
     *
     * @param point1
     * @param point2
     * @return
     */
    double getDistance(Point point1, Point point2) {
        return Math.sqrt(Math.pow(point2.x - point1.x, 2) + Math.pow(point2.y - point1.y, 2));
    }

  private final static String name ="";


}
